﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace EnglishAuction.BUS
{
    public class NhanVienBUS
    {
        public static NhanVien GetByUsername(string username)
        {
            using (var context = new EnglishAuctionEntities())
            {
                return context.NhanViens.Where(p => p.TaiKhoan.Equals(username)).FirstOrDefault();
            }
        }

        public static NhanVien Get(int id)
        {
            using (var context = new EnglishAuctionEntities())
            {
                return context.NhanViens.Where(e => e.Id == id).FirstOrDefault();
            }
        }

        public static NhanVien Login(string username, string password)
        {
            NhanVien nhanVien = null;
            using (var context = new EnglishAuctionEntities())
            {
                var result = context.NhanViens.Where(p => p.TaiKhoan.Trim().Equals(username) &&
                    p.MatKhau.Trim().Equals(password));
                if (result != null && result.Count() > 0)
                {
                    nhanVien = result.FirstOrDefault();
                }
            }

            return nhanVien;
        }

        public static List<NhanVien> GetAll()
        {
            using (var context = new EnglishAuctionEntities())
            {
                return context.NhanViens.ToList();
            }
        }

        public static bool Update(NhanVien update)
        {
            bool result = true;
            using (var context = new EnglishAuctionEntities())
            {
                var nhanVien = context.NhanViens.Find(update.Id);
                nhanVien.GioiTinh = update.GioiTinh;
                nhanVien.HoTen = update.HoTen;
                nhanVien.DiaChi = update.DiaChi;
                nhanVien.SoDienThoai = update.SoDienThoai;
                if (!nhanVien.MatKhau.Equals(""))
                {
                    nhanVien.MatKhau = update.MatKhau;
                }
                context.SaveChanges();
            }
            return result;
        }

        public static bool Delete(int id)
        {
            bool result = true;
            using (var context = new EnglishAuctionEntities())
            {
                var nhanVien = context.NhanViens.Find(id);
                context.NhanViens.Remove(nhanVien);
                context.SaveChanges();
             }
            return result;
        }

        public static bool Insert(NhanVien nhanVien)
        {
            bool result = true;
            using (var context = new EnglishAuctionEntities())
            {
                context.NhanViens.Add(nhanVien);
                context.SaveChanges();
            }

            return result;
        }
    }
}